package com.zzyq.pc.web.configure.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.zzyq.pc.web.configure.model.Information;

public interface InformationMapper {
    int deleteByPrimaryKey(Integer ifmId);

    int insert(Information record);

    Information selectByPrimaryKey(Integer ifmId);

    List<Information> selectAll();

    int updateByPrimaryKey(Information record);

	/**
	 * 找到方案ID集合中的敏感方案
	 * 
	 * @param ifmIds
	 * @return
	 */
	List<Integer> selectSensitiveIDs(@Param("ifmIds") List<Integer> ifmIds);

	/**
	 * 获取团体所有方案ID
	 * 
	 * @param companyId
	 * @return
	 */
	List<Integer> selectIDsBycompanyId(Integer companyId);

	/**
	 * 获取团体的敏感方案集合
	 * 
	 * @param companyId
	 * @return
	 */
	List<Integer> selectSensitiveIDsByCompanyId(Integer companyId);

	/**
	 * 分页查询方案列表
	 * 
	 * @param map
	 * @return
	 */
	List<Information> selectInformationByCompanyId(Map<String, Object> map);

	/**
	 * 同一团体下不允许同名，不同团体允许同名
	 * 
	 * @param map
	 * @return 0:不存在同名 >0： 存在同名
	 */
	int selectInformationNameCountByCompanyId(Map<String, Object> map);

	/**
	 * 新增团体方案关系表
	 * 
	 * @param companyId
	 * @param ifmId
	 * @return
	 */
	int insertCompanyInformation(@Param("companyId") Integer companyId, @Param("ifmId") Integer ifmId);

	/**
	 * 删除团体方案关系表
	 * 
	 * @param ifmId
	 * @return
	 */
	int deleteCompanyInformation(@Param("ifmId") Integer ifmId);

	/**
	 * 开启关闭方案
	 * 
	 * @param ifmId
	 * @param ifmIsdelete
	 * @return
	 */
	int updateInformationType(@Param("ifmId") Integer ifmId, @Param("ifmIsdelete") Integer ifmIsdelete);

}